﻿#include<iostream>
#include<string>
using namespace std;


//class add
//{
//public:
//	add(string _xm, int _nl, int _dhua)
//		:xm(_xm)
//		,nl(_nl)
//		,dhua(_dhua)
//	{
//		cout << "2" << endl;
//	}
//protected:
//	string xm;
//	int nl;
//	int dhua;
//};
//
//
//class Student:public add
//{
//public:
//	Student(string _xm,int nl,int dhua,int _xh)
//		:add(_xm,nl,dhua)
//		,xh(_xh)
//	{
//		cout << "1" << endl;
//	}
//private:
//	int xh;
//};
//
//class Teacher:public add
//{
//private:
//	string zwu = "老师";
//};
//
//int main()
//{
//	Student sl("fang", 19, 18777,123);
//
//	return 0;
//}

//#include<iostream>
//#include<vector>
//namespace bit
//{
//	template<class T>
//	class stack : vector<T>
//	{
//	public:
//		void push(const T& x)
//		{
//			vector<T>::push_back(x);
//		}
//		void pop()
//		{
//			vector<T>::pop_back();
//		}
//
//		const T& top()
//		{
//			return vector<T>::back();
//		}
//
//		bool empty()
//		{
//			return vector<T>::empty();
//		}
//
//		int size()
//		{
//			return vector<T>::size();
//		}
//	};
//}
//
//int main()
//{
//	bit::stack<int> sl;
//	sl.push(1);
//	sl.push(2);
//	sl.push(3);
//	sl.push(4);
//
//	cout << "当前个数：" << sl.size() << endl;
//	while (!sl.empty())
//	{
//		cout << sl.top() << endl;
//		sl.pop();
//	}
//
//
//	return 0;
//
//}

//class Person
//{
//protected:
//
//};
//
//class Student
//{
//public:
//private:
//
//};
//
//int main()
//{
//
//}

//class add
//{
//public:
//	void print()
//	{
//		cout << "您好" << endl;
//	}
//protected:
//	string xm;
//	int nl;
//	int dhua;
//	int xh = 999;
//};
//
//
//class Student:public add
//{
//public:
//	void print()
//	{
//		cout << xh << endl;
//		cout << add::xh << endl;
//	}
//private:
//	int xh = 123;
//};
//
//class Teacher:public add
//{
//private:
//	string zwu = "老师";
//};
//
//int main()
//{
//	Student sl;
//	sl.print();
//	sl.add::print();
//	return 0;
//}

//class add 
//{
//public:
//	add(string _xm, int _dhua)
//		:xm(_xm)
//		, dhua(_dhua)
//	{}
//	add(const add& x)
//		:xm(x.xm)
//		,dhua(x.dhua)
//	{}
//
//	add operator=(const add& x)
//	{
//		xm = x.xm;
//		dhua = x.dhua;
//		return *this;
//	}
//protected:
//	
//	string xm;
//	int dhua;
//};
//
//
// class Student : public add
//{
//public:
//	static int kko;
//	Student(string _xm,int _nl,int _dhua)
//		:add(_xm,_dhua)
//		,nl(_nl)
//	{
//
//	}
//	Student(const Student& x)
//		:add(x)
//		,nl(x.nl)
//	{
//
//	}
//	Student operator= (const Student& x)
//	{
//		if (this != &x)
//		{
//			add::operator=(x);
//			nl = x.nl;
//		}
//		return *this;
//	}
//
//private:
//	int nl;
//};
//
//int Student::kko = 99;
//int main()
//{
//	Student s1("fang", 18, 18777);
//	Student s2("jian",15,1999);
//	s1 = s2;
//
//	cout << &s1.kko << endl;
//	cout << &s2.kko << endl;
//
//	return 0;
//}

//class A
//{
//public:
//	A(string _xm, int _nl, int _dhua)
//		:xm(_xm)
//		,nl(_nl)
//		,dhua(_dhua)
//	{
//	}
//private:
//	string xm;
//	int nl;
//	int dhua;
//};
//class B
//{
//public:
//	B(string _xm,int _nl,int _dhua,int xh)
//		:_a(_xm,_nl,_dhua)
//		,_xh(xh)
//	{
//
//	}
//private:
//	int _xh;
//	A _a;
//};
//
//int main()
//{
//	B sl("fang", 18, 18777, 2023);
//
//
//}